맨위로가기

윈도우 NT 아키텍처

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

윈도우 NT 아키텍처는 마이크로소프트가 IBM과의 OS/2 공동 개발 중 겪은 문제들을 해결하기 위해 개발한 운영 체제의 아키텍처이다. 데이비드 커틀러가 DEC의 VMS 아키텍처를 기반으로 개발을 주도했으며, 1993년 Windows NT 3.1을 시작으로 다양한 버전이 출시되었다. NT 아키텍처는 마이크로커널과 서브시스템 개념을 도입하여 안정성을 높였고, 32비트 및 64비트 시스템을 모두 지원하며, 클라이언트와 서버 제품군으로 나뉜다. 또한, 보안을 강화하고, 다양한 하드웨어 플랫폼을 지원하며, 서비스라는 개념을 통해 시스템의 모듈화와 관리를 용이하게 했다.

더 읽어볼만한 페이지

  • 윈도우 NT 아키텍처 - WoW64
    WoW64는 64비트 윈도우에서 32비트 응용 프로그램을 실행하기 위한 호환성 계층으로, 32비트 코드를 변환하고 시스템 자원을 관리하며 파일 시스템 리디렉션을 제공하지만, 완벽한 호환성을 보장하지 않고 성능 오버헤드 및 API 관련 문제점을 가질 수 있다.
  • 윈도우 NT 아키텍처 - 로컬 보안 인증 하위 시스템 서비스
  • 윈도우 NT - 윈도우 8
    윈도우 8은 2012년 마이크로소프트가 출시한 운영 체제로, 터치스크린 기기 사용성을 개선하기 위해 메트로 디자인을 도입했으며, 윈도우 8.1로 개선되었고, 32/64비트 등 다양한 에디션으로 출시되었으나 2016년 지원이 종료되었다.
  • 윈도우 NT - 윈도우 10
    윈도우 10은 마이크로소프트가 개발하여 2015년 출시된 운영 체제로, 통합 플랫폼을 지향하며 새로운 시작 메뉴, 가상 데스크톱, 엣지 브라우저 등을 특징으로 하고, 무료 업그레이드와 지속적인 업데이트를 통해 기능을 개선했으며, 다양한 에디션으로 제공되지만, 강제 업그레이드, 개인 정보 수집 등으로 비판받기도 했다.
윈도우 NT 아키텍처
개요
윈도우 NT 아키텍처 블록 다이어그램
윈도우 NT 아키텍처 블록 다이어그램
개발사Microsoft
제품 계열Windows NT 계열
소스 모델부분적으로 오픈 소스
커널 종류하이브리드 커널
라이선스상용 라이선스
상세 정보
지원 CPU 아키텍처IA-32
x86-64
ARM
DEC Alpha (과거)
MIPS (과거)
PowerPC (과거)
지원 시스템단일 프로세서
다중 프로세서
사용자 인터페이스GUI
최신 버전Windows 11 (NT 10.0) / 2021년 10월 5일
업데이트 방식Windows 업데이트
특징
특징높은 안정성과 보안성
NTFS 파일 시스템 지원
다양한 하드웨어 지원
Active Directory를 통한 중앙 집중식 관리
역사
최초 릴리스1993년 7월 27일 (Windows NT 3.1)
개발 시작1988년
개발 코드명OS/2 3.0
NT

2. 역사적 배경

마이크로소프트(MS)는 MS-DOSOS/2의 한계를 넘어 새로운 운영 체제 아키텍처를 구축하기 위해 윈도우 NT를 개발했다.

MS-DOS의 후속으로 IBM과 함께 OS/2를 공동 개발하던 마이크로소프트는, 계약 및 개발 방식의 차이로 IBM과 잦은 갈등을 겪었다.[20] 이에 빌 게이츠DEC에서 VMS 개발자로 명성을 얻은 데이비드 커틀러를 영입하여 새로운 OS 개발을 추진했다.[20]

1990년 Windows 3.0이 큰 성공을 거두자, 마이크로소프트는 자체적인 Windows 개발로 방향을 전환했다. 그러나 초기 Windows는 16비트 코드로 작성된 MS-DOS 기반이었기 때문에, 메모리 관리, 멀티태스킹, 네트워크 기능 등에서 여러 문제점을 안고 있었다.

이에 빌 게이츠는 커틀러가 개발 중이던 OS/2 3.0을 NT로 변경하고, Windows 3.0의 GUI[21]과 16비트 Windows API (Win16) 호환성을 갖춘 자체 OS를 개발하기로 결정했다. 그 결과, 1993년 NT 계열의 첫 작품인 Windows NT 3.1이 출시되었다.

2. 1. 개발 배경

마이크로소프트는 MS-DOS의 후속 운영체제로 OS/2IBM과 공동 개발하고 있었으며, 1980년대 말에는 OS/2 3.0의 개발을 주로 담당하고 있었다. 그러나 계약 관계, 개발 방식 등에서 IBM 측과 잦은 대립을 겪어 프로젝트 진행이 크게 정체되는 상황이었다.[20]

그러자 빌 게이츠는 상황을 타개하기 위해 프로젝트 매니저를 외부에서 찾았고, 당시 DEC에 재직 중이던 데이비드 커틀러를 발탁했다. 커틀러는 DEC의 VAX 머신용 OS인 VMS의 개발자로 이름을 알린 인물이다. 커틀러는 처음에는 OS/2 3.0 프로젝트에 참여했지만, 난항을 겪는 IBM과의 협상 과정에서 OS/2에 사실상 기대를 접고, 후에 NT로 명명될 새로운 OS 개발을 물밑에서 추진하기 시작했다. 이는 그가 과거 DEC에서 담당했던 VMS의 아키텍처를 기초로 하는 극히 현대적인 구성으로, 이식성이 높은 OS였다.[20]

OS/2 차기 버전의 개발이 지연되는 가운데, 마이크로소프트는 임시방편으로 80386 탑재 머신을 주요 타겟으로 개발하고 있던 Windows 3.0을 1990년에 출시했다. 이 Windows 3.0이 큰 인기를 얻으면서 게이츠는 방침을 전환하여 후속 OS를 OS/2가 아닌 자사 오리지널 Windows로 결정했다. 그러나 초기 Windows는 겉보기에는 GUI였지만 내부적으로는 16비트 코드로 작성된 MS-DOS를 기반으로 한 애플리케이션 런처에 지나지 않았고, 당시 지원되었던(그리고 PC/AT에 탑재된 CPU였기에 PC 시장의 주류였던) Intel 80286의 기능적 제약에 기인하는 빈약한 메모리 관리 기능, 멀티태스킹의 불완전함, 네트워크 기능의 결여 등 과제가 산적해 있었다.

이에 게이츠는 커틀러가 개발하고 있던 OS/2 3.0을 NT로 변경하고, 거기에 Windows 3.0에서 어느 정도 확립된 GUI 셸[21]을 씌우고, 또한 거기에 구현되었던 16비트 Windows API (Win16)와의 호환성을 갖춘 OS를 자체 개발하기로 결정했으며, 1993년에는 NT 계열 첫 번째 작품인 Windows NT 3.1을 출시했다.

2. 2. 초기 버전 (NT 3.1 ~ NT 4.0)

Windows NT 3.1은 1993년에 출시되었으며, Workstation (Windows NT) 및 Advanced Server 에디션으로 제공되었다. NT 3.1의 RTM 빌드는 528이다.

Windows NT 3.5는 1994년에 출시되었으며, Workstation 및 Server 에디션으로 제공되었다. NT 3.5의 RTM 빌드는 807이다.

Windows NT 3.51은 1995년에 출시되었으며, Workstation 및 Server 에디션으로 제공되었다. NT 3.51의 RTM 빌드는 1057이다.

Windows NT 4.0은 1996년에 출시되었으며, Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded 에디션으로 제공되었다. NT 4.0의 RTM 빌드는 1381이다.

NT 버전RTM 빌드제품명에디션 및 비고출시 연도
NT 3.1528Windows NT 3.1Workstation (Windows NT), Advanced Server1993년
NT 3.5807Windows NT 3.5Workstation, Server1994년
NT 3.511057Windows NT 3.51Workstation, Server1995년
NT 4.01381Windows NT 4.0Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded1996년


2. 3. 발전과 확장 (Windows 2000 ~ Windows 7)

Windows 2000은 NT 5.0 커널(RTM 빌드 2195)을 기반으로 하며, Professional, Server, Advanced Server, Datacenter Server 에디션으로 2000년에 출시되었다.[4] 대한민국에서는 김대중 정부의 IT 산업 육성 정책과 맞물려 사회 전반에 널리 보급되면서 정보화 사회의 기반을 다지는 데 중요한 역할을 했다.

Windows XP는 NT 5.1 커널(RTM 빌드 2600)을 기반으로 하며, 2001년에 출시되었다.[5] Home, Professional, Media Center, Tablet PC, Starter, Embedded 등 다양한 에디션이 출시되었다.[5] 2006년에는 Windows Fundamentals for Legacy PCs 에디션이 출시되었다.[5]

Windows Server 2003은 NT 5.2 커널(RTM 빌드 3790)을 기반으로 하며, 2003년에 출시되었다.[6] Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster Server 등 다양한 에디션이 출시되었다.[6] 같은 해에 Windows XP 64비트 에디션이, 2005년에는 Professional x64 Edition이 출시되었다.[6] 2007년에는 Windows Home Server가 출시되었다.[6]

Windows Vista는 NT 6.0 커널(RTM 빌드 6000, SP1: 6001, SP2: 6002)을 기반으로 하며, 2006년에 기업용으로, 2007년에 일반 소비자용으로 출시되었다.[7] Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate 등 다양한 에디션이 출시되었다.[7]

Windows Server 2008은 NT 6.0 커널(SP1: 6001, SP2: 6002)을 기반으로 하며, 2008년에 출시되었다.[7] Standard, Enterprise, Datacenter, Web, Foundation, Itanium-based Systems, Storage, Small Business Server 등 다양한 에디션이 출시되었다.[7]

Windows 7은 NT 6.1 커널(RTM 빌드 7600, SP1: 7601)을 기반으로 하며, 2009년부터 2011년까지 출시되었다(DSP 버전은 2009년부터 2017년까지).[8] Starter, Home Basic, Home Premium, Professional, Enterprise, Ultimate 등 다양한 에디션이 출시되었다.[8]

같은 NT 6.1 커널을 사용하는 Windows Server 2008 R2는 Standard, Enterprise, Datacenter, Web, Foundation, Itanium-based Systems 에디션으로 출시되었다.[8] 이 외에도 Windows MultiPoint Server 2010, Windows Small Business Server 2011 Standard, Windows Home Server 2011, Windows MultiPoint Server 2011 (Standard, Premium), Windows Small Business Server 2011 Essentials 등이 NT 6.1 커널 기반으로 출시되었다.[8]

2. 4. 현대적 진화 (Windows 8 ~ 현재)

윈도우 8(2012년)은 윈도우 7의 후속 버전으로, 터치스크린에 최적화된 새로운 사용자 인터페이스를 도입했다. 윈도우 8은 Windows 8(무인(Core)), Windows 8 Pro, Windows 8 Enterprise, Windows RT 에디션으로 출시되었다.[1] 윈도우 서버 2012는 윈도우 8과 동일한 커널을 공유하며, Datacenter, Standard, Essentials, Foundation, Storage, Hyper-V 에디션으로 출시되었다.[1]

윈도우 8.1(2013년)은 윈도우 8의 메이저 업데이트 버전으로, 사용자 인터페이스 개선 및 새로운 기능을 추가했다. 윈도우 8.1은 윈도우 8 및 Windows RT의 업데이트 형태로 제공되었다.[1] 윈도우 서버 2012 R2는 윈도우 8.1과 동일한 커널을 공유하며, Datacenter, Standard, Essentials, Foundation, Storage, Hyper-V 에디션으로 출시되었다.[1]

윈도우 10(2015년)은 윈도우 8.1의 후속 버전으로, 시작 메뉴를 복원하고 데스크톱 환경을 개선하는 등 사용자 인터페이스를 대폭 변경했다. 윈도우 10은 Home, Pro, Enterprise, Education, Mobile, Mobile Enterprise, IoT Enterprise, IoT Core, Pro For Workstations 등 다양한 에디션으로 출시되었다.[1] 윈도우 10은 여러 빌드(1507, 1511, 1607, 1703, 1709, 1803, 1809, 1903, 1909, 2004, 20H2, 21H1, 21H2, 22H2)를 거치며 지속적으로 업데이트되었다.[1]

윈도우 서버 2016은 윈도우 10 빌드 14393을 기반으로 하며, Standard, Essentials, Datacenter, Storage, Hyper-V 에디션으로 출시되었다.[1] 윈도우 서버 2019는 윈도우 10 빌드 17763을 기반으로 하며, Standard, Essentials, Datacenter, Hyper-V 에디션으로 출시되었다.[1] 윈도우 서버 2022는 Standard, Datacenter 에디션으로 출시되었다.

윈도우 11(2021년)은 윈도우 10의 후속 버전으로, 새로운 사용자 인터페이스와 기능 개선을 제공한다. 윈도우 11은 Home, Pro, Education, Pro For Workstations, Enterprise, IoT Enterprise 에디션으로 출시되었다.[1] 윈도우 11은 여러 빌드(21H2, 22H2, 23H2, 24H2)를 거치며 업데이트되고 있다.[1]

NT 버전제품명에디션출시 연도
NT 6.2Windows 8, Windows Server 2012Windows 8(Core), Windows 8 Pro, Windows 8 Enterprise, Windows RT, Datacenter, Standard, Essentials, Foundation, Storage, Hyper-V, Windows MultiPoint Server 20122012년-2013년
NT 6.3Windows 8.1, Windows Server 2012 R2Windows 8 및 Windows RT의 메이저 업데이트, Datacenter, Standard, Essentials, Foundation, Storage, Hyper-V2013년-2015년
NT 6.4Windows Technical PreviewHome, Pro, Enterprise2014년
NT 10.0Windows 10, Windows 10 Mobile, Windows 10 IoTHome, Pro, Enterprise, Education, Mobile, Mobile Enterprise, IoT Enterprise, IoT Core, Pro For Workstations
Windows Server 2016Standard, Essentials, Datacenter, Storage, Hyper-V2016년
Windows Server 2019Standard, Essentials, Datacenter, Hyper-V2018년
Windows Server 2022, Windows 11Standard, Datacenter, Home, Pro, Education, Pro For Workstations, Enterprise, IoT Enterprise2021년-현재


3. 아키텍처

윈도우 NT는 사용자 모드와 커널 모드로 구성된 계층 구조를 가진다. 사용자 모드는 응용 프로그램이 실행되는 영역이고, 커널 모드는 운영 체제의 핵심 기능이 실행되는 영역이다. 이러한 분리를 통해 시스템 안정성과 보안을 강화한다.


  • 사용자 모드: 사용자 응용 프로그램과 운영 체제 커널 기능 간의 인터페이스를 "환경 하위 시스템"이라고 하며, 윈도우 NT는 여러 종류의 운영 체제용으로 작성된 응용 프로그램을 지원하도록 설계되었다.
  • '''Win32 환경 하위 시스템''': 32비트 윈도우 응용 프로그램 실행 및 MS-DOS 및 16비트 윈도우(Win16) 응용 프로그램 지원.
  • '''OS/2 환경 하위 시스템''': 16비트 문자 기반 OS/2 응용 프로그램 지원 (Windows XP 및 이후 버전에서는 지원되지 않음).
  • '''POSIX 환경 하위 시스템''': ISO/IEC POSIX.1 표준 또는 관련 표준에 따라 엄격하게 작성된 애플리케이션을 지원. 이후 유닉스용 윈도우 서비스의 일부인 인터릭스를 거쳐, Linux용 Windows 하위 시스템으로 대체되었다.
  • 커널 모드: 컴퓨터 하드웨어 및 시스템 리소스에 대한 완전한 접근 권한을 가지며, 보호된 메모리 영역에서 코드를 실행한다.
  • '''Executive 서비스''': I/O, 객체 관리, 보안 및 프로세스 관리 등 핵심 기능 담당.
  • '''커널''': 다중 프로세서 동기화, 스레드 및 인터럽트 스케줄링, 예외 처리 등 마이크로커널의 작업 수행.
  • '''하드웨어 추상화 계층(HAL)''': 하드웨어와 운영 체제 사이의 추상화 계층 제공.
  • '''커널 모드 드라이버''': 하드웨어와 상호 작용.

3. 1. 사용자 모드

사용자 모드는 커널 모드에 존재하는 입출력 관리자를 통해 적절한 커널 모드 드라이버에 입출력 요청을 보낼 수 있는 하위 시스템으로 이루어져 있다. 윈도우 NT의 사용자 모드 계층은 환경 하위 시스템(''Environment subsystems'')과 필수 하위 시스템(''Integral subsystem'')으로 구성된다.[50] 사용자 모드는 사용자가 이용하는 응용 프로그램, 윈도우의 서브 시스템, 시스템 프로세스의 일부가 배치되는 메모리 영역을 말하며, 하드웨어나 커널 모드 프로세스 및 메모리에 접근할 수 있는 권한은 없다.

사용자 모드 응용 프로그램과 운영 체제 커널 기능 간의 인터페이스를 "환경 하위 시스템"이라고 한다. 윈도우 NT는 각기 다른 API 세트를 구현하는 둘 이상의 환경 하위 시스템을 가질 수 있으며, 여러 종류의 운영 체제용으로 작성된 응용 프로그램을 지원하도록 설계되었다. 환경 하위 시스템은 하드웨어에 직접 액세스할 수 없고, 하드웨어 기능에 대한 액세스는 커널 모드 루틴을 호출하여 수행된다.

주요 환경 하위 시스템은 다음과 같다.[1]

  • Win32 환경 하위 시스템: 32비트 윈도우 응용 프로그램을 실행하고, MS-DOS 및 16비트 윈도우(Win16) 응용 프로그램도 실행할 수 있도록 지원한다.
  • OS/2 환경 하위 시스템: 16비트 문자 기반 OS/2 응용 프로그램을 지원하며, 윈도우 XP윈도우 서버 2003 이후 버전에서는 지원되지 않는다.
  • POSIX 환경 하위 시스템: ISO/IEC POSIX.1 표준 또는 관련 표준에 따라 엄격하게 작성된 애플리케이션을 지원한다. 이후 유닉스용 윈도우 서비스의 일부인 인터릭스를 거쳐, Linux용 Windows 하위 시스템으로 대체되었다.

3. 1. 1. Win32 환경 하위 시스템

Win32 환경 하위 시스템은 32비트 윈도우 애플리케이션을 실행할 수 있게 해준다. 이 시스템은 콘솔, 텍스트 창 지원, 종료 및 하드 오류 처리를 담당하며, 다른 모든 환경 하위 시스템에도 영향을 준다.[50] 또한 가상 DOS 머신(VDM)을 지원하여 MS-DOS 및 16비트 윈도우(Win16) 응용 프로그램을 윈도우 NT에서 실행할 수 있도록 한다.

COMMAND.COM이 NTVDM에서 실행 중


NTVDM은 자체 주소 공간에서 실행되며 Intel 80486이 MS-DOS 5.0을 실행하는 것을 에뮬레이션하는 MS-DOS VDM이다. Win16 프로그램은 Win16 VDM에서 실행되는데, 기본적으로 각 프로그램은 동일한 프로세스에서 실행되어 동일한 주소 공간을 사용하지만, Win16 VDM은 각 프로그램에 자체 스레드를 제공한다. 윈도우 NT는 사용자가 별도의 Win16 VDM에서 Win16 프로그램을 실행할 수 있도록 하여, 윈도우 NT가 하나의 실행 중인 애플리케이션만 포함하는 전체 VDM 프로세스를 선점하므로 선점형 멀티태스킹을 지원한다.

Win32 환경 하위 시스템 프로세스 (csrss.exe)는 "윈도우 관리자"라고도 불리는 창 관리 기능도 포함한다. 이 기능은 키보드 및 마우스와 같은 입력 이벤트를 처리하고, 이 입력을 수신해야 하는 애플리케이션에 메시지를 전달한다. 각 애플리케이션은 이러한 메시지에 응답하여 자체 창과 메뉴를 그리거나 새로 고친다.

윈도우 NT 아키텍처에서, MS-DOS/Windows 3.1 계열의 소프트웨어를 실행하기 위한 서브 시스템은 WoW (Win16 on Win32) 기능을 통해 호환성을 유지한다. 엄밀하게 말하면, 서브 시스템의 본체는 가상 86 모드, 286 보호 모드, 386 보호 모드를 처리하는 가상 머신 모니터인 NTVDM (NT Virtual DOS Machine)이다. WOW는 NTVDM이 트랩한 Win16 API 호출을 Win32 API로 변환하는 연결 프로그램이다. NTVDM은 16비트 DOS 시스템 콜과 Win16 API를 실행하는 데 특화되어 있으며, VESA VGA BIOS 등은 지원하지 않는다.[41]

Windows XP를 포함한 이후의 64비트 버전에서는 Win64 서브시스템이 기본이며, Win32 서브시스템은 WOW64 기능을 사용하여 구현된다. 모든 64비트 Windows에서 Win16 서브 시스템은 탑재되어 있지 않다. 특히 x64의 경우, Long 모드에서 64비트 명령 집합을 사용할 수 있는 상태에서는 16비트 명령 집합의 작동에 필요한 가상 86 모드가 지원되지 않는다.

3. 1. 2. OS/2 환경 하위 시스템

OS/2 환경 하위 시스템은 16비트 문자 기반 OS/2 응용 프로그램을 지원하며, x86 머신에서 OS/2 1.x를 에뮬레이트하지만 OS/2 2.x 이상에서 사용되는 32비트 또는 그래픽 OS/2 응용 프로그램은 지원하지 않는다.[2] 그래픽 OS/2 1.x 프로그램을 실행하려면 윈도우 NT 프레젠테이션 관리자 추가 기능 하위 시스템을 설치해야 한다.[2] OS/2 하위 시스템을 가진 마지막 버전의 윈도우 NT는 윈도우 2000이었으며, 윈도우 XP부터는 중단되었다.[3][4] 초기 OS/2 프로그램을 실행하기 위한 서브 시스템으로, 보안상의 이유로 비활성화하는 것이 권장된다. 윈도우 XP윈도우 서버 2003 이후 버전에서는 지원되지 않는다.

3. 1. 3. POSIX 환경 하위 시스템

POSIX 환경 하위 시스템은 ISO/IEC POSIX.1 표준 또는 관련 표준에 따라 엄격하게 작성된 애플리케이션을 지원한다.[50] 이 서브시스템은 인터릭스로 대체되었으며, 이는 유닉스용 윈도우 서비스의 일부이다.[3] 이는 다시 Linux용 Windows 하위 시스템으로 대체되었다.

POSIX 호환 서비스를 제공하기 위한 서브 시스템은 윈도우 NT 표준 POSIX 서브 시스템의 문제점을 해결하기 위해 Softway Systems사(1999년 9월 17일, 마이크로소프트사에 흡수 합병)가 개발한 OpenNT를 기원으로 한다. 이후 유닉스와 유사한 환경을 제공하는 Services for UNIX에 표준 탑재되어, 윈도우 NT 계열 OS에 네이티브로 고품질의 POSIX 환경이 제공되게 되었다. 윈도우 Vista의 상위 패키지 및 Windows Server 2003부터 SUA (Sub-system for UNIX-Based Applications)로 표준 탑재된다. 윈도우 NT에 의존하는 부분이 몇 가지 존재하며, 컴파일 시 소스 코드의 수정이 필요한 경우가 있다. 윈도우 8.1 / Windows Server 2012 R2부터 Interix 서브 시스템은 폐지되었다. 대체 수단으로 Hyper-V를 이용한 가상 유닉스 환경, 또는 Cygwin의 사용이 권장된다.

Windows Subsystem for Linux는 2016년 3월에 발표된 네이티브 리눅스 레이어를 제공하는 서브 시스템이다. 리눅스 커널의 시스템 콜을 NT 커널의 시스템 콜로 변환하여 리눅스 애플리케이션의 네이티브 동작을 실현한다. Interix 서브 시스템에서는 소스 코드 수정이나 Interix용으로 컴파일을 해야 했지만, Subsystem for Linux는 Ubuntu Linux와 바이너리 레벨에서의 호환성을 실현하고 있기 때문에 Ubuntu에서 빌드한 바이너리를 그대로 실행할 수 있다. bash나 Emacs 등 Unix/Linux 소프트웨어를 사용할 수 있게 된다.

3. 1. 4. 보안 하위 시스템

보안 하위 시스템은 보안 토큰을 처리하고, 리소스 권한에 따라 사용자 계정의 접근을 허용하거나 거부하며, 로그인 요청을 처리하고 로그인 인증을 시작하며, 윈도우 NT에서 감사해야 할 시스템 리소스를 결정한다.[5] 또한 Active Directory를 관리한다. 워크스테이션 서비스는 네트워크 리디렉터를 구현하는데, 이는 윈도우 파일 및 프린터 공유의 클라이언트 측이다. 이 서비스는 로컬 요청을 네트워크의 적절한 서버로 "리디렉션"하여 원격 파일 및 프린터에 대한 요청을 구현한다.[5] 반대로, 서버 서비스는 네트워크의 다른 컴퓨터가 로컬 시스템에서 제공하는 파일 공유 및 공유 프린터에 접근할 수 있도록 한다.[6]

3. 2. 커널 모드

윈도우 NT의 커널 모드는 컴퓨터 하드웨어 및 시스템 리소스에 대한 완전한 접근 권한을 가지며, 보호된 메모리 영역에서 코드를 실행한다.[51][7] 커널 모드는 스케줄링, 스레드 우선 순위, 메모리 관리 및 하드웨어와의 상호 작용을 제어한다. 사용자 모드 서비스와 응용 프로그램이 운영 체제의 중요한 영역에 접근하는 것을 막고, 사용자 모드 프로세스는 커널 모드에 이러한 작업을 대신 수행하도록 요청해야 한다.

x86 아키텍처는 4가지 권한 수준(0~3)을 지원하지만, 윈도우 NT는 "링 0"(커널 모드)과 "링 3"(사용자 모드) 두 가지 수준만 사용한다. 이는 RISC 플랫폼과의 코드 이식성을 고려한 설계였지만, OS/2 응용 프로그램과의 호환성 문제를 야기했다.[8][2]

커널 모드에서 실행되는 코드는 Executive 서비스, 커널, 하드웨어 추상화 계층(HAL), 커널 드라이버로 구성된다.[7][9] 커널 모드는 NT Executive, 커널, 각 장치 드라이버가 배치되는 메모리 영역을 말하며, 사용자 모드에 존재했던 각종 제한이 없다.

3. 2. 1. Executive 서비스

Windows Executive 서비스는 저수준 커널 모드 부분을 구성하며, NTOSKRNL.EXE 파일에 포함되어 있다.[7] I/O, 객체 관리, 보안 및 프로세스 관리를 처리한다. Executive 서비스는 여러 "하위 시스템"으로 나뉘는데, 주요 구성 요소는 다음과 같다.

Windows NT의 각 개체는 글로벌 네임스페이스에 존재한다. 이것은 Sysinternals [https://docs.microsoft.com/en-us/sysinternals/downloads/winobj WinObj]의 스크린샷이다.

  • '''개체 관리자''(내부 이름 "Ob"): 다른 모든 Executive 하위 시스템, 특히 시스템 호출이 Windows NT 리소스에 접근하기 위해 통과해야 하는 시스템이다. 리소스 관리 인프라 서비스 역할을 하며,[51] 다른 Executive 하위 시스템에서 개체 리소스 관리 기능의 중복을 줄여준다. 개체 관리자에게 각 리소스는 개체이며, 각 개체에는 개체 관리자가 알아야 하는 구조 또는 "개체 유형"이 있다.

  • '''캐시 관리자''': 메모리 관리자, I/O 관리자 및 I/O 드라이버와 긴밀하게 조율하여 일반 파일 I/O에 대한 공통 캐시를 제공한다. 로컬 및 원격 파일 간의 일관된 작동과 파일의 메모리 맵 뷰와의 일관성을 보장한다.

  • '''구성 관리자''': Windows 레지스트리에 필요한 시스템 호출을 구현한다.

  • '''I/O 관리자''': 장치가 사용자 모드 하위 시스템과 통신할 수 있도록 한다. 사용자 모드 읽기 및 쓰기 명령을 장치 드라이버에 전달하는 읽기 또는 쓰기 IRP로 변환한다. 파일 시스템 I/O 요청을 장치별 호출로 변환하며, 저수준 장치 드라이버를 통합할 수 있다. 디스크 성능 향상을 위한 캐시 관리자를 포함한다.

  • '''로컬 프로시저 호출 (LPC)''': 프로세스 간 통신 포트를 제공한다. LPC 포트는 사용자 모드 하위 시스템이 클라이언트와 통신하고, Executive 하위 시스템이 사용자 모드 하위 시스템과 통신하며, Microsoft RPC에 대한 로컬 전송의 기반으로 사용된다.

  • '''메모리 관리자''': 가상 메모리를 관리하고, 메모리 보호와 보조 저장소로의 메모리 페이징을 제어하며, 물리적 메모리의 범용 할당기를 구현한다. PE 실행 파일의 파서를 구현하여 실행 파일이 단일 원자적 단계로 매핑되거나 매핑 해제될 수 있도록 한다.

  • '''프로세스 구조''': 프로세스 및 스레드 생성 및 종료를 처리하며, "Job" 개념을 구현한다. Job 개체는 Windows 2000에 도입되었다.

  • '''PnP 관리자''': 플러그 앤 플레이를 처리하고 부팅 시 장치 감지 및 설치를 지원한다. 주문형 장치 중지 및 시작도 담당한다.

  • '''전원 관리자''': 전원 이벤트(전원 끄기, 대기, 최대 절전 모드 등)를 처리하고 영향을 받는 드라이버에 특수 IRP("전원 IRP")를 알린다.

  • '''보안 참조 모니터(SRM)''': 보안 통합 하위 시스템의 보안 규칙을 시행하는 기본 권한이다.[12] 액세스 제어 목록 (ACL)을 사용하여 개체 또는 리소스 접근 가능 여부를 결정한다.


"시스템 서비스"(내부 이름 "Nt"), 즉 시스템 호출도 이 수준에서 구현되며, 성능 향상을 위해 커널 계층을 직접 호출하는 극히 일부를 제외한다.

3. 2. 2. 커널

커널 모드의 윈도우 NT 커널은 컴퓨터 하드웨어 및 시스템 리소스에 대한 완전한 접근 권한을 가지며, 보호된 메모리 영역에서 코드를 실행한다.[51] 커널은 HAL과 실행자 사이에 위치하며, 다중 프로세서 동기화, 스레드 및 인터럽트 스케줄링과 디스패칭, 트랩 처리 및 예외 디스패칭을 제공한다. 또한 운영 체제를 시작하고 실행하는 데 필요한 부팅 시 장치 드라이버를 초기화하는 역할을 한다. 즉, 커널은 전통적인 마이크로커널의 거의 모든 작업을 수행한다. 실행자와 커널의 엄격한 구분은 원래 마이크로커널 설계의 가장 두드러진 잔재이며, 역사적인 설계 문서는 커널 구성 요소를 "마이크로커널"이라고 일관되게 지칭한다.

커널은 종종 프로세스 관리자와 인터페이스한다. 추상화 수준은 커널이 프로세스 관리자를 호출하지 않고 그 반대만 호출하도록 한다(몇몇 예외적인 경우를 제외하고, 기능적인 종속성까지는 아니다).

NT 커널은 NT Executive와 HAL의 중간에 위치한다. NT 5.2까지는 여러 개의 NT 커널이 존재했지만, Windows Vista부터는 ntoskrnl.exe로 통합되었다.

과거에는 다음과 같이 몇 가지 구현이 나뉘어 있었다.

파일명설명
ntoskrnl.exe표준적인 PC
ntkrnlpa.exe표준적인 PC (32비트 Windows만 해당, PAE가 활성화된 경우)
ntkrnlmp.exe멀티프로세서 PC
ntkrpamp.exe멀티프로세서 PC (PAE가 활성화된 경우)


3. 2. 3. 하드웨어 추상화 계층 (HAL)

윈도우 NT의 하드웨어 추상화 계층(HAL)은 컴퓨터의 물리적 하드웨어와 운영 체제의 나머지 부분 사이에 위치하는 계층이다. 하드웨어의 차이점을 숨기고 커널이 실행될 일관된 플랫폼을 제공하도록 설계되었다. HAL에는 I/O 인터페이스, 인터럽트 컨트롤러 및 다중 프로세서를 제어하는 하드웨어 관련 코드가 포함되어 있다.[51]

HAL은 커널이 실행 계층 아래에 위치하는 방식처럼 완전히 커널 아래에 위치하는 계층은 아니다. 알려진 모든 HAL 구현은 어느 정도 커널 또는 심지어 실행 계층에 의존한다. 실제로 이는 커널 및 HAL 변형이 함께 작동하도록 특별히 구성된 일치하는 세트로 제공됨을 의미한다.

하드웨어 추상화는 일반적으로 이식성의 더 넓은 개념에 속하는 명령어 집합을 추상화하는 것을 포함하지 않는다. 필요한 경우 (예: x86 명령어 집합의 여러 개정 사항을 처리하거나 누락된 수학 보조 프로세서를 에뮬레이션하기 위해) 명령어 집합을 추상화하는 작업은 커널 또는 하드웨어 가상화를 통해 수행된다.

HAL은 커널 모드에서 동작하는 프로그램을 하드웨어로부터 분리하는 계층이지만, 커널과의 분리가 이상적이지 않고 HAL은 커널과 공존 관계에 있다. 또한, 극히 일부의 x86용 명령이 포함되어 있으며 커널에서 에뮬레이트된다. NT 커널과 HAL은 독립되어 있지 않아, NT 커널이 하드웨어에 직접 접근하는 경우도 있었지만, Windows Vista부터 NT 커널과 HAL의 의존 관계는 없어지고, hal.dll로 통일되었다.

HAL은 OS 설치 시 자동으로 선택된다. 다음은 몇 가지 HAL의 예시이다.

파일명설명
hal.dll표준 PC
halaacpi.dllAPIC ACPI PC
halacpi.dllACPI PC
halapic.dllAPIC PC
halmacpi.dll멀티프로세서 ACPI PC
halmps.dll멀티프로세서 PC
halsp.dllCompaq SystemPro
halborg.dllSillicon Graphics Workstation


3. 2. 4. 커널 모드 드라이버

윈도우 NT는 컴퓨터 하드웨어와 상호 작용하기 위해 커널 모드 장치 드라이버를 사용한다. 각 드라이버는 운영 체제의 나머지 부분에 잘 정의된 시스템 루틴과 내부 루틴을 가진다. 모든 장치는 사용자 모드 코드에서 I/O 관리자의 파일 객체로 인식되지만, I/O 관리자 자체는 장치를 파일, 장치 또는 드라이버 객체로 정의하는 장치 객체로 인식한다.[51]

커널 모드 드라이버는 세 가지 레벨로 존재한다.

  • 최상위 드라이버: FATNTFS와 같은 파일 시스템 드라이버가 여기에 해당되며, 중간 드라이버에 의존한다.
  • 중간 드라이버: 장치의 주 드라이버 또는 기능 드라이버로 구성되며, 선택적으로 하위 및 상위 레벨 필터 드라이버 사이에 위치한다. 기능 드라이버는 버스 컨트롤러, 어댑터 또는 브리지를 서비스하는 버스 드라이버에 의존하며, 자체와 기능 드라이버 사이에 선택적 버스 필터 드라이버를 가질 수 있다. 중간 드라이버는 최하위 레벨 드라이버에 의존한다. 윈도우 드라이버 모델(WDM)은 중간 계층에 존재한다.
  • 최하위 드라이버: 장치를 직접 제어하는 기존 Windows NT 장치 드라이버이거나 PnP 하드웨어 버스일 수 있다. 하드웨어를 직접 제어하며 다른 드라이버에 의존하지 않는다.


사용자나 시스템으로부터 하드웨어로의 I/O를 하드웨어 고유의 기능으로부터 추상화하고, 시스템 서비스를 제공하는 것이 목적이다. 64비트 버전 Windows에서는 보안 및 동작 안정성 향상을 위해[44] 원칙적으로 장치 드라이버의 서명이 필수이다.[45] NT 4.0까지는 Windows NT 커널 모드 드라이버가 사용되었고, Windows 2000 이후에는 윈도우 드라이버 모델이 사용되고 있다. WDM은 Windows 98이나 Windows Me에서도 같은 소스 코드로 드라이버를 개발할 수 있도록 만들어졌다.

4. 버전별 특징

(DSP 버전은 2009년-2017년)Windows Server 2008 R2Standard, Enterprise, Datacenter, Web, Foundation, Itanium-based SystemsWindows MultiPoint Server 2010Windows Small Business Server 2011 StandardWindows Home Server 2011Windows MultiPoint Server 2011Standard, PremiumWindows Small Business Server 2011 EssentialsNT 6.29200Windows 8Windows 8 (무인(Core)), Windows 8 Pro, Windows 8 Enterprise, Windows RT2012년-2013년Windows Server 2012Datacenter, Standard, Essentials, Foundation, Storage, Hyper-VWindows MultiPoint Server 2012Standard, PremiumNT 6.39600Windows 8.1Windows 8 및 Windows RT의 메이저 업데이트2013년-2015년Windows Server 2012 R2Datacenter, Standard, Essentials, Foundation, Storage, Hyper-VNT 6.4없음Windows Technical PreviewHome, Pro, Enterprise2014년NT 10.010240, 10586, 14393, 15063, 16299, 17134, 17763, 18362, 18363, 19041, 19042, 19043, 19044, 19045Windows 10, Windows 10 Mobile, Windows 10 IoTHome, Pro, Enterprise, Education, Mobile, Mobile Enterprise, IoT Enterprise, IoT Core, Pro For Workstations2015년-2021년
(DSP 버전은 2015년-2022년)14393Windows Server 2016Standard, Essentials, Datacenter, Storage, Hyper-V2016년17763Windows Server 2019Standard, Essentials, Datacenter, Hyper-V2018년20348Windows Server 2022Standard, Datacenter2021년-현재22000, 22621, 22631, 26100Windows 11Home, Pro, Education, Pro For Workstations, Enterprise, IoT Enterprise



각 버전은 새로운 기능 추가, 성능 개선, 보안 강화 등 다양한 측면에서 발전해왔다. 예를 들어, 윈도우 NT 4.0은 사용자 인터페이스를 개선하고, 윈도우 2000은 액티브 디렉터리를 도입하는 등 주요 변화가 있었다. 윈도우 XP는 가정용과 전문가용 버전을 통합했으며, 이후 윈도우 비스타, 윈도우 7, 윈도우 8/8.1, 윈도우 10, 윈도우 11에 이르기까지 사용자 인터페이스 및 기능 개선이 지속적으로 이루어졌다.

4. 1. 클라이언트 및 서버 제품군

윈도우 NT 계열 제품은 크게 클라이언트용과 서버용의 두 가지로 나뉜다.

윈도우 NT는 동일 버전 내에서 클라이언트용 "Workstation"과 서버용 "Server" 두 가지 제품군을 제공한다. 단, 윈도우 NT 3.1은 클라이언트와 서버 기능을 모두 갖춘 "Windows NT 3.1"과 도메인 컨트롤러 전용인 Windows NT Advanced Server 3.1로 구성되었다.

윈도우 2000부터는 클라이언트용 제품 명칭을 "Workstation"에서 "Professional"로 변경했으며, 윈도우 XP에서도 이 명칭을 유지했다. 또한, 윈도우 XP에서는 가정용 "Home Edition"을 추가하여 9x 계열을 통합했다. 한편, 윈도우 2000 Server의 후속 서버 버전은 아이테니엄/아이테니엄2 전용 Windows Advanced Server/Datacenter Server, Limited Edition을 거쳐 윈도우 XP보다 늦게 윈도우 서버 2003으로 출시되면서 다른 제품군으로 자리 잡았다.

4. 2. 지원 플랫폼

윈도우 NT는 개발 초기부터 다양한 CPU 아키텍처에서 동작하도록 설계되어 커널의 이식성이 높다. 3.x 이전 및 9x 계열의 윈도우가 x86 아키텍처에 맞춰 설계된 것과 대조적이다.

윈도우 NT 계열이 지원하는 플랫폼
브랜드명
버전
x86x64IA-64Alpha / MIPSPowerPCARM32ARM64
NT 3.1[27]
NT 3.5[27]
NT 3.51[27]
NT 4.0[27][28]
2000
NT 5.0
[27][28]
XP (32비트)
NT 5.1
[29][30]
XP (64비트), Server 2003
NT 5.2
[29]
Vista, Server 2008
NT 6.0
[29]
7, Server 2008 R2
NT 6.1
[31][29]
8/8.1, Server 2012/2012 R2
NT 6.2/6.3
[31][31]
10, Server 2016-2022
NT 10.0.21390까지
[31][32]
11, Server 2025
NT 10.0.21996부터



NT 3.1 및 3.5는 32비트 x86(IA-32), MIPS R 시리즈, Alpha 버전을 지원했다. 이들은 ARC 아키텍처 워크스테이션에서 작동했다. NT 3.51과 4.0은 PowerPC도 지원하여, IBM의 ThinkPad Power Series에서 작동했다. 와 SPARC 이식도 있었으나 출시되지는 않았다.[34][35]

윈도우 2000 (NT 5.0)은 Alpha 버전 개발이 중단되었고, 데이터 센터 에디션에 IA-64 버전을 출시한 것을 제외하면 인텔 아키텍처만 제공되었다. 윈도우 서버 2008 R2 (NT 6.1)부터는 IA-32 지원이 중단[36]되었고, IA-64 지원도 종료될 예정이었다.[37]

윈도우 RT는 태블릿 PC에 주로 사용되는 ARM 아키텍처에서 NT 커널이 동작하도록 개발되었다. 2016년 12월에는 ARM64 지원이 발표되었다.[39]

5. 보안

윈도우 NT의 핵심인 NT Executive는 보안에 대해 매우 엄격하게 설계되었다. 커널에서 제공되는 객체는 기본적으로 보안 설명자를 가지며, 사용자에 따라 접근 권한이 세밀하게 설정된다. XP 이전 버전의 NT 계열 OS에서는 파일 접근 권한을 매우 상세하게 설정할 수 있었다. XP에서는 탐색기가 아닌 명령 프롬프트에서 CACLS 명령으로 접근 권한을 설정한다. Professional에서는 간이 파일 공유를 중지하여 2000 이전처럼 보안 설정 탭을 GUI로 사용할 수 있다.

NT는 하위 기반으로 튼튼한 보안을 갖췄지만, 윈도우 95의 쉘과 기능을 이식했을 때 9x와의 호환성 문제로 인해 보안을 무시하는 구현을 했다. 이 때문에 사용자는 관리자(Administrator) 권한으로 로그온해야만 작업하기 쉬웠다. 제한된 권한에서는 작동을 고려하지 않은 애플리케이션 문제 등 여러 불편함이 있었다.

이러한 이유로 윈도우 NT 계열, 특히 2000에서 XP에 이르기까지 사용자(특히 개인 또는 소규모 네트워크 환경)는 Administrators 권한으로 로그온하는 경우가 많았다. 이는 유닉스에서 root로 계속 로그온하는 것과 같으며, 매우 심각한 취약성을 초래한다. 모든 객체에 접근 가능하여 시스템 파일 쓰기를 막을 수 없기 때문이다. 이로 인해 웜이나 바이러스가 침투하기 쉬워, 이메일 첨부 실행 파일만 열어도 심각한 결과를 초래할 수 있었다.

이 문제에 대한 해결책으로, 새로운 사용자를 만들고 Power User 또는 User 권한만 부여하는 방법이 있다. 새 소프트웨어를 설치할 수 없는 문제가 발생할 수 있지만, NT 본래의 튼튼한 보안을 이용할 수 있다는 장점이 더 크다. 필요할 때만 관리자 권한을 얻는 수단으로 "다른 사용자로 실행"(Windows 2000부터), "빠른 사용자 전환"(Windows XP부터), "사용자 계정 컨트롤(UAC)"(Windows Vista부터) 등의 대책이 시행되고 있다.

NT Executive는 객체를 생성할 때 보안 설명자에 NULL을 지정할 수 있는데, 이는 윈도우 NT 계열 OS의 가장 큰 보안 구멍이다. 보안 설명자가 없는 객체는 누구나 접근할 수 있기 때문이다. 예를 들어 이름 지정된 이벤트 객체는 누구나 이벤트를 발생시킬 수 있으며, 이름 지정된 파이프는 마음대로 열어 데이터를 넣을 수 있다.[1]

6. 32비트 및 64비트

윈도우 NT는 32비트 버전(x86)과 64비트 버전(x64/IA-64)으로 제공되며, CPU와 메모리 제약에서 차이가 있다.[46]

CPU 및 메모리 제약
제약x86x64
전체 가상 주소 공간4GB16TB / 256TB (Windows 8.1 이후)
32비트 프로세스별 가상 주소 공간2GB / 3GB(주1)2GB / 4GB(주2)
64비트 프로세스별 가상 주소 공간N/A8TB / 128TB (Windows 8.1 이후)
Paged Pool (커널 메모리)470MB / 650MB (Windows Server 2003 SP1) / 2GB (Windows Vista 이후)128GB / 384GB (Windows 8 이후) / 15.5TB (Windows 8.1 이후)
Non-Paged Pool (커널 메모리)256MB / 128MB (OS 부팅 옵션 /3GB) / 2GB (Windows Vista 이후)128GB / 16TB (Windows 8.1 이후)
시스템 캐시512MB / 432MB (OS 부팅 옵션 /3GB) / 960MB (LargeSystemCache 레지스트리 1 설정) / 2GB (Windows Vista 이후)1TB / 16TB (Windows 8.1 이후)
Windows XP에서의 최대 물리 메모리4GB128GB
Windows XP에서의 최대 CPU 수22



32비트 윈도우에서 Windows 2000 Professional, Windows XP, Windows Vista, Windows 7, Windows 8과 같은 PC용 운영 체제는 최대 4GB (실제로는 약 3.2GB)의 물리 메모리만 사용할 수 있다.[47][48] 그러나 Windows Server 에디션에서는 최대 128GB까지 사용할 수 있다. 또한, Address Windowing Extensions를 사용하면 4GB 이상의 메모리에 접근할 수 있으며, Physical Address Extension을 통해 OS 관리 하에 있지 않은 4GB 초과 메모리에 직접 접근하는 소프트웨어도 있다.[49]

7. Windows NT 기반 서비스

UNIX의 데몬과 유사한 개념인 "서비스"는 NT 계열 OS에서 핵심적인 구성 요소이다. 서비스는 운영 체제의 모듈화를 통해 보안을 강화하고, 리소스 낭비를 줄이며, 시스템 성능을 향상시킨다.

서비스는 특정 사용자 권한으로 동작하며, 주요 서비스 계정은 다음과 같다:



LocalSystem을 제외한 LocalService와 NetworkService는 윈도우 XP에서 신설되었다.[43]

이 외에도 특정 사용자 권한을 할당하여 서비스가 접근할 수 있는 범위를 제한함으로써 보안을 강화할 수 있다. 예를 들어, 불특정 다수로부터 접근이 예상되는 서비스에 특정 디렉터리에만 접근을 허용하고 그 외에는 불허할 수 있다.

서비스 관리는 윈도우 NT 4.0까지는 "제어판"에서, 윈도우 2000 이후에는 "서비스 관리자"를 통해 수행할 수 있다. NT 4.0까지는 NT 서비스라는 명칭이었으며, 윈도우 2000부터 Windows 서비스로 명칭이 변경되었다.

사용자나 시스템으로부터 하드웨어로의 입출력(I/O)를 추상화하고 시스템 서비스를 제공하는 장치 드라이버는 64비트 버전 Windows에서는 보안 및 동작 안정성 향상을 위해 서명이 필수적이다.[44][45] NT 4.0까지는 Windows NT 커널 모드 드라이버가 사용되었고, Windows 2000 이후에는 Windows Driver Model이 사용되고 있다. WDM은 윈도우 98이나 윈도우 Me에서도 같은 소스 코드로 드라이버를 개발할 수 있도록 만들어졌다.

참조

[1] 웹사이트 Appendix D - Running Nonnative Applications in Windows 2000 Professional https://learn.micros[...] Microsoft 2008-09-11
[2] 웹사이트 Windows NT Workstation Resource Kit Chapter 28 - OS/2 Compatibility https://web.archive.[...] Microsoft
[3] 웹사이트 POSIX and OS/2 are not supported in Windows XP or in Windows Server 2003 https://web.archive.[...] Microsoft
[4] 웹사이트 The Sad History of the Microsoft POSIX Subsystem http://brianreiter.o[...] 2010-08-24
[5] 웹사이트 Basic Architecture of a Network Redirector https://learn.micros[...] Microsoft 2023-07-30
[6] 웹사이트 Windows NT Networking Architecture https://web.archive.[...] Microsoft 2016-11-18
[7] 서적 Win32 API Programming with Visual Basic O'Reilly and Associates, Inc.
[8] 웹사이트 MS Windows NT Kernel-mode User and GDI White Paper https://web.archive.[...] Microsoft TechNet 2007-12-09
[9] 서적 Windows Internals, Fifth Edition Microsoft Press
[10] 웹사이트 Handles and Objects https://learn.micros[...] Microsoft 2023-07-30
[11] 웹사이트 Impact of Session 0 Isolation on Services and Drivers in Windows Vista https://web.archive.[...] Microsoft
[12] 웹사이트 Active Directory Data Storage http://www.microsoft[...] Microsoft
[13] 웹사이트 Trustee definition https://web.archive.[...] MSDN
[14] 웹사이트 1.2 Glossary https://learn.micros[...] 2022-06-14
[15] 웹사이트 MS Windows NT Kernel-mode User and GDI White Paper https://learn.micros[...] Microsoft 2009-01-19
[16] 웹사이트 MS Windows NT Kernel-mode User and GDI White Paper http://www.microsoft[...] Microsoft Corporation 2007-03-01
[17] 서적 Operating System Concepts; 7th Edition http://higheredbcs.w[...] John Wiley & Sons Inc
[18] 웹사이트 Overview of Windows Architecture http://research.micr[...] Microsoft Research/Asia - Beijing 2007-03-01
[19] 웹사이트 Boot Sequence of Windows Multi-Boot - Multibooters.com http://www.multiboot[...] 2020-11-19
[20] 문서 ただし、この時点ではGUIの実装は基本構想になく、MS-DOSなどと同様のコマンドライン入力によるCUIのみを備えるものとして計画されていた。
[21] 문서 実際には平行して開発が進められていたWindows 3.1に準じたものとなった。
[22] 문서 当時の一般的なPCに搭載されるWindows 3.1のメモリ要件が4MB弱であった時期に、NTでは最低でも12MBのメモリ搭載が要求された。
[23] 문서 Memory eater:直訳すれば「メモリを喰らう者」。「メモリを浪費するやつ」という揶揄的表現。
[24] 문서 それだけでなく実装APIの修正を行い、ハードウェア依存性の高いゲームやシステム系ソフトウェアなどを除く一般的なWindows 95用アプリケーションの大半が動作可能なよう改良されていた。
[25] 문서 NT 3.1のTCP/IPネットワーク能力は9,600[[ビット毎秒|bps]]のモデム程度であった。
[26] 문서 NT 4.0ではSP3でDirectX 3が限定的にサポートされたが、DirectX 5以降への対応は行われなかった。
[27] 문서 PC-9800シリーズを含む
[28] 문서 SGI Visual Workstation 320/540を含む
[29] 문서 サーバのみ、クライアント向けは非対応
[30] 문서 初期の Xbox 360 用のソフトウェア開発環境として提供
[31] 문서 クライアントのみ、サーバ向けは非対応
[32] 문서 モバイルおよびエンベデッド向けの一部のみ、デスクトップおよびサーバ向けは非対応
[33] 웹사이트 ARMサーバで動く「Windows Server」Q&A--マイクロソフトに聞く - ZDNet Japan https://japan.zdnet.[...] 2017-03-15
[34] 웹사이트 Windows Mobile ベースの移植可能なアプリケーションの構築 https://msdn.microso[...] 2006-04-18
[35] 웹사이트 Intergraph Announces Port of Windows NT to SPARC Architecture http://ftp.lanet.lv/[...] 1993-07-07
[36] 웹사이트 Windows Server 2008 R2 概要 http://www.microsoft[...] 2009-02-13
[37] 서적 マイクロソフト、Itaniumのサポート打ち切りへ https://ascii.jp/ele[...] ASCII.jp 2011-08-07
[38] 뉴스 "■後藤弘茂のWeekly海外ニュース■ Xbox 360のキーパースンJ Allard氏に聞く(前編)" https://pc.watch.imp[...]
[39] 서적 【詳報】Win32アプリが動く“ARM版Windows 10”はフル機能搭載の完全なるWindows 10 ~デモでPhotoshopを動作させる https://pc.watch.imp[...] インプレス 2016-12-08
[40] 서적 Windows開発統括部 Windows Vista における 16 ビットサポート http://www.exconn.ne[...] 2013-08-21
[41] 문서 そのため、VESA VGA BIOSの機能を利用していたゲームソフトなどは正常に動作しない。
[42] 뉴스 Windows XP および Windows Server 2003 では POSIX と OS/2 がサポートされていない http://support.micro[...]
[43] 웹사이트 Service User Accounts (Windows) http://msdn.microsof[...] マイクロソフト 2011-08-07
[44] 문서 Windows XPでのクラッシュの原因の半数以上をデバイスドライバが占めている。残るクラッシュ理由の大半はアンチウイルスソフトウエアのカーネルモードプログラムの誤動作である。
[45] 웹사이트 A description of the differences between 32-bit versions of Windows Vista and 64-bit versions of Windows Vista http://support.micro[...] 2009-02-13
[46] 웹사이트 Memory Limits for Windows Releases http://msdn.microsof[...] 2009-02-13
[47] 서적 4 GB の RAM が搭載されている場合、Windows Vista の [システム情報] ダイアログ ボックスで報告されるシステム メモリが予想より小さい http://support.micro[...] 2008-02-13
[48] 서적 Windows Vista SP1 では、システムに 4 GB のメモリが搭載されている場合、システム メモリ (RAM) が 4 GB と報告される http://support.micro[...] 2009-02-13
[49] 문서 一例として、[[RAMディスク#ソフトウェアによるRAMディスク|RAMディスク]]ソフトウェアなど。
[50] 웹인용 Appendix D - Running Nonnative Applications in Windows 2000 Professional http://technet.micro[...] 마이크로소프트
[51] 서적 Win32 API Programming with Visual Basic O'Reilly and Associates, Inc.



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com